package com.zbkj.common.response;

import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zbkj.common.model.merchant.Merchant;
import com.zbkj.common.monitorchannel.vo.MonitorChannelEquipmentStatusVo;
import com.zbkj.common.monitorchannel.vo.MonitorChannelMediaAddressVo;
import com.zbkj.common.response.monitor.ZfbEquipmentOrderResponse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 订单监控数据响应对象
 * </p>
 *
 * @author dazongzi
 * @since 2025-06-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ZfbOrderMonitorDataResponse对象", description="订单监控数据响应对象")
public class ZfbOrderMonitorDataResponse implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "监控设备ID")
    private Integer monitorId;

    @ApiModelProperty("商户id")
    private Integer merchantId;

    @ApiModelProperty("设备名称")
    private String equipmentName;


    @ApiModelProperty("设备类型 0:鹤梦云 ")
    private Integer equipmentType;

    @ApiModelProperty("设备license")
    private String license;


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;


    private JSONObject deviceModel;


    private MonitorChannelEquipmentStatusVo equipmentStatusVo;


    private ZfbEquipmentOrderResponse order;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;

    private Merchant merchant;

    @ApiModelProperty("监控流量类型 1=免费  2=付费")
    private Integer mealType;

    @ApiModelProperty("是否当前位置")
    private Boolean isNewPosition;

    @ApiModelProperty("蓝牙设备mac地址")
    private String deviceMac;

    @ApiModelProperty("网关imei")
    private String imei;

}
